A Physically-addressed L4 Kernel
نویسندگان
چکیده
All current implementations of the L4 microkernel map thread control blocks (TCBs) into a linear array in virtual memory, a decision that was originally made almost entirely for the performance advantages it offers on the Intel 486 platform. The drawback of this design choice is that page faults generated within L4 complicate the kernel and in particular its verification by formal methods. An alternative exists however on architectures where physical addressing, or at least a loose equivalent in superpages, is available. On such architectures, TCBs may be addressed physically via indirection provided by an auxiliary lookup table. Addressing TCBs in this manners leads to a completely physically-addressed L4 kernel that offers advantages in simplicity, but has a non-obvious effect on the cache footprint of the performancecritical IPC path that warrants examination. This thesis endeavours to provide a thorough investigation into the performance trade-offs involved in making the L4Ka::Pistachio implementation of the L4 Version 4 API completely physically addressed. We stress architectural issues that effect the outcome of these trade-offs and explore various implementational design choices that aim to weaken the performance penalties a physically-addressed kernel may suffer. We conclude by running Linux on top of the L4 microkernel to obtain a concise set of benchmarks that prove, at least for the MIPS64 architecture, that the simplicity of a completely physically-addressed L4 kernel may be enjoyed without any notable performance degradation.
منابع مشابه
Managing Kernel Memory Resources from User Level
In order to implement abstractions like threads or address spaces, operating system kernels need to maintain the corresponding metadata. This metadata is usually stored in kernel memory, i.e. in a region of physical memory that is reserved for kernel use. As the amount of available kernel memory is limited, its allocation must be controlled carefully; otherwise, applications can run a denial-of...
متن کاملL4/Darwin: Evolving UNIX
UNIX has remained a mainstay of modern computing. With its foundations of security, reliability, performance and configurability, UNIX has adapted to and is used in a vast array of environments. While UNIX fosters robustness, modularity and a “smaller is better” philosophy, that scrutiny is generally not applied to the kernel itself. Modern UNIX kernels have large, unwieldy code bases that do n...
متن کاملIssues in Analysing L4 for its WCET
Real-time analysis of a system requires knowledge of the worst-case execution time of all code in the system. This requirement covers not only application code, but also operating system and kernel code. In this paper we discuss the issues specific to kernel code and how we aim to address these in our work towards analysing the L4 microkernel for the worst-case execution times of all system-cal...
متن کاملPorting Epics to L4-linux Based System
Experimental Physics and Industrial Control System (EPICS) is now widely used for many accelerator control systems. While the current and the former versions of EPICS have required VxWorks to run core software on Input/Output Controllers (IOCs), the next version (R3.14) is to be portable to many other platforms. Considering the recent trend toward Linux, it is an attractive candidate for the po...
متن کاملImplementation of μITRON Embedded Operating System Specification on top of L4 Microkernel
The μITRON specification [6] was started as a sub-project within ITRON program targeted at the smallest systems with 8 or 16-bit microcontrollers. It was different from the base ITRON with a limited kernel functionality. Later, following the rapid hardware development, μITRON was adopted to be applicable to 32 microcontrollers. Therefore, μITRON is a specification of a real-time kernel for embe...
متن کامل